//import java.util.Random;

public class make_imei
{
	public static void main(String [] args)
	{
		new make_imei();
	
		//make IMEI NUMBER	
		String newImei = "";
		for ( int cnt = 0; cnt < 14; cnt++ ) {
			double dd = Math.random()*10;
			int j = (int)Math.floor(dd);
			newImei += j;
		}

		int imei_arr[] = new int[newImei.length()];
		int arr_sum = 0;
		int arr_calc = 0;
		for(int arr_idx = 0; arr_idx < newImei.length(); arr_idx++)
		{
			imei_arr[arr_idx] = Integer.parseInt(newImei.substring(arr_idx, arr_idx + 1));
		    if(arr_idx % 2 == 1)
		    {
		        imei_arr[arr_idx] = imei_arr[arr_idx] * 2;
		        if(imei_arr[arr_idx] > 9)
		            imei_arr[arr_idx] = imei_arr[arr_idx] / 10 + imei_arr[arr_idx] % 10;
		    }
		    arr_sum += imei_arr[arr_idx];
		}
		arr_calc = 10 - arr_sum % 10;
		if(arr_calc == 10)
		    arr_calc = 0;
		    
		newImei += arr_calc;
		
		System.out.println("IMEI NUMBER = " + newImei );
		
		
		//make SERIAL NUMBER	
		String newSerial = "";
		//create newSerial.substring(0,4)
		for ( int cnt = 0; cnt < 4; cnt++ ) {
			double dd = Math.random()*10;
			int j = (int)Math.floor(dd);
			newSerial += j;
		}
		
		//create newSerial.substring(4,5)
		for ( int cnt = 0; cnt < 1; cnt++ ) {
			double dd = Math.random()*12;
			int j = (int)Math.floor(dd);
			if ( j == 10 ) newSerial += "A";
			else if ( j == 11 ) newSerial += "B";
			else if ( j == 12 ) newSerial += "C";
			else newSerial += Integer.toString(j);
		}

		//create newSerial.substring(5,10)
		for ( int cnt = 0; cnt < 5; cnt++ ) {
			double dd = Math.random()*10;
			int j = (int)Math.floor(dd);
			newSerial += j;
		}

		int serial_arr[] = new int[newSerial.length()];
		arr_sum = 0;
		arr_calc = 0;
		for(int arr_idx = 4; arr_idx < newSerial.length(); arr_idx++)
		{
			if (newSerial.substring(arr_idx, arr_idx + 1).equals("A") )
				serial_arr[arr_idx] = 10;
			else if (newSerial.substring(arr_idx, arr_idx + 1).equals("B") ) 
				serial_arr[arr_idx] = 11;
			else if (newSerial.substring(arr_idx, arr_idx + 1).equals("C") ) 
				serial_arr[arr_idx] = 12;
			else 
				serial_arr[arr_idx] = Integer.parseInt(newSerial.substring(arr_idx, arr_idx + 1));
		    
		    arr_sum += serial_arr[arr_idx];
		    
		    if(arr_idx == 9)
		        arr_sum += (serial_arr[arr_idx]*5);
		}
		arr_calc = arr_sum % 19;
		    
    	if(arr_calc == 1) newSerial += "D";
    	else if(arr_calc == 2 ) newSerial += "Y";
    	else if(arr_calc == 3 ) newSerial += "B";
    	else if(arr_calc == 4 ) newSerial += "V";            
    	else if(arr_calc == 5 ) newSerial += "J";			
    	else if(arr_calc == 6 ) newSerial += "F";      
    	else if(arr_calc == 7 ) newSerial += "X";
    	else if(arr_calc == 8 ) newSerial += "A";
    	else if(arr_calc == 9 ) newSerial += "K";                  
    	else if(arr_calc == 10) newSerial += "L";      
    	else if(arr_calc == 11) newSerial += "M";      
    	else if(arr_calc == 12) newSerial += "R";
    	else if(arr_calc == 13) newSerial += "N";
    	else if(arr_calc == 14) newSerial += "P";            
    	else if(arr_calc == 15) newSerial += "Z";			
    	else if(arr_calc == 16) newSerial += "T";      
    	else if(arr_calc == 17) newSerial += "W";
    	else if(arr_calc == 18) newSerial += "H";
    	else if(arr_calc == 0 ) newSerial += "E";        
		
		System.out.println("SERIAL NUMBER = " + newSerial );
		
	}
}